com.supermap.ar.areffect
类 AREffectElement
- java.lang.Object
-
- com.supermap.ar.areffect.AREffectElement
-
- 直接已知子类:
- ARGltfElement, ARMapElement, ARParticleElement, ARVideoElement, ARVideoElement2, ARViewElement
public class AREffectElement extends java.lang.Object
AR特效对象
-
-
嵌套类概要
嵌套类 限定符和类型 类和说明 static interface
AREffectElement.OnRenderableLoadCompleteListener
资源加载监听static interface
AREffectElement.OnTapListener
点击监听接口static interface
AREffectElement.OnTouchListener
触摸监听接口static class
AREffectElement.PositionType
显示位置类型static class
AREffectElement.VisualizerType
可视化类型
-
构造器概要
构造器 构造器和说明 AREffectElement(android.content.Context context)
构造方法
-
方法概要
所有方法 实例方法 具体方法 已过时的方法 限定符和类型 方法和说明 boolean
addChild(AREffectElement obj)
已过时。void
addChilds(java.util.ArrayList<AREffectElement> list)
设置子对象数组void
addOnTapListener(AREffectElement.OnTapListener listener)
添加点击监听void
addOnTouchListener(AREffectElement.OnTouchListener listener)
设置触摸监听void
changeBindNode(AnchorNode anchorNode)
更改绑定节点void
clearChildren()
已过时。AREffectElement
createChildElement()
已过时。void
destroy()
销毁对象java.util.ArrayList<AREffectElement>
getAllChilds()
获取子对象数组AnchorNode
getAnchorNode()
获取锚点EffectView
getArEffectView()
获取AREffectViewAREffectElement
getChild(int index)
已过时。AREffectElement
getChild(long id)
根据id获取子对象java.util.ArrayList<AREffectElement>
getChild(java.lang.String Name)
获取子对象int
getChildCount()
获取子对象个数android.content.Context
getContext()
java.lang.String
getElementName()
获取对象名称ElementType
getElementType()
获取元素类型long
getId()
获取idfloat[]
getLocalScaleFactor()
获取对象在AR世界中的比例AREffectElement.OnRenderableLoadCompleteListener
getOnRenderableLoadCompleteListener()
获取资源加载完成的监听事件java.lang.Object
getParentNode()
获取父节点。Point3D
getPosition()
获取AR对象在AR场景位置AREffectElement.PositionType
getPositionType()
获取位置显示类型Point3D
getRelativePosition()
获取AR对象相对于父节点位置Quaternion
getRotationQuaternion()
获取旋转四元数float[]
getScaleFactor()
获取对象在ar世界中的比例Color
getSelectionColor()
获取选中状态的渲染对象AREffectElement.VisualizerType
getVisualizerType()
获取选中状态的可视化类型Location
getWGSCoordinates()
获取模型地理位置boolean
isOverlap()
判断是否与其他元素重叠boolean
isSelected()
判断是否选中boolean
isShadowCaster()
判断是否该元素是否能够在场景中产生阴影boolean
isShadowReceiver()
判断该元素是否能够在场景中接受其它元素产生的阴影boolean
isTransformable()
获取模型的状态 (模型是否可以旋转/缩放)boolean
isVisible()
获取是否可见void
removeChild(AREffectElement element)
已过时。void
removeChild(int index)
已过时。void
removeChild(long id)
已过时。void
removeChild(java.lang.String name)
已过时。void
removeOnTapListener()
移除点击监听void
removeOnTouchListener()
移除触摸监听void
select()
选中元素void
setElementName(java.lang.String objectName)
设置对象名称void
setLocalScaleFactor(float[] scales)
设置对象在AR世界中的比例void
setOnRenderableLoadCompleteListener(AREffectElement.OnRenderableLoadCompleteListener onRenderableLoadCompleteListener)
设置资源加载完成的监听事件 支持元素:ARViewElement
ARVideoElement
ARVideoElement2
ARGltfElement
ARWebViewElement
常用于监听安卓View和Gltf模型的加载AREffectElement
setParentNode(AREffectElement arEffectElement)
相对布局时,设置父节点AREffectElement
setParentNode(EffectView arEffectView)
绝对布局,设置父节点AREffectElement
setParentNode(EffectView arEffectView, Node parent)
将元素绑定在视图中的其他节点上void
setPosition(Point3D position)
设置AR对象在AR场景位置void
setPosition(Vector3 vector3)
设置AR对象在AR场景位置void
setRelativePosition(Point3D position)
设置AR对象相对于父节点位置void
setRelativePosition(Vector3 position)
设置AR对象相对于父节点位置void
setRotateAlwaysToCamera(boolean alwaysToCamera)
设置该元素的姿态是否始终相对相机位置void
setRotateToCameraType(Node.RotateToCameraType type)
设置节点相对相机的位置 包括: Horizontal, Vertical, Horizontal_Verticalvoid
setRotationAngle(Quaternion quaternion)
设置旋转角度(四元数) 每次在原有姿态上变换(累加)void
setRotationAngle(Vector vector, float rotationAngle)
设置对象的旋转角度void
setRotationAngleNoRepeat(Quaternion quaternion)
设置旋转角度(四元数) 注:与setRotationAngle(Quaternion quaternion)不同的是,此方法重复设置,不会累加 例如: //element element.setRotationAngle(new Quaternion(new Vector(0,0,1),90));//element旋转了90度 element.setRotationAngle(new Quaternion(new Vector(0,0,1),90));//element旋转了90度 //此时,element共旋转了180度 //element2 element2.setRotationAngleNoRepeat(new Quaternion(new Vector(0,0,1),90));//element2旋转至90度 element2.setRotationAngleNoRepeat(new Quaternion(new Vector(0,0,1),90));//element旋转至90度 //此时,element2只旋转了90度void
setRotationAngleRelative(Quaternion quaternion)
设置相对节点的旋转角度void
setRotationQuaternion(Quaternion quaternion)
通过四元数设置旋转姿态 每次设置都是基于初始相机坐标系void
setScaleFactor(float[] scales)
设置对象在ar世界中的比例void
setSelectionColor(Color color)
设置选中状态的渲染对象的颜色void
setShadowCaster(boolean flag)
设置是否能够在场景中产生阴影void
setShadowReceiver(boolean flag)
设置在场景中是否能够接受其他对象产生的阴影void
setTransformable(boolean isTransformable)
设置模型的状态 (是否可通过手势对模型进行缩放/旋转)void
setTransformable(boolean isTransformable, boolean isSelected)
设置模型的状态void
setVisiblity(boolean visiblity)
设置是否可见。void
setVisualizerType(AREffectElement.VisualizerType visualizerType)
设置选中状态的可视化类型void
setWGSCoordinates(Location elementLocation)
已过时。void
unSelect()
取消选中
-
-
-
方法详细资料
-
getElementType
public ElementType getElementType()
获取元素类型- 返回:
-
createChildElement
@Deprecated public AREffectElement createChildElement()
已过时。创建子元素- 返回:
-
getContext
public android.content.Context getContext()
-
getId
public long getId()
获取id- 返回:
-
getElementName
public java.lang.String getElementName()
获取对象名称- 返回:
-
setElementName
public void setElementName(java.lang.String objectName)
设置对象名称- 参数:
objectName
-
-
addChild
@Deprecated public boolean addChild(AREffectElement obj)
已过时。添加子对象- 参数:
obj
- 子对象- 返回:
- 添加是否成功
-
getChild
@Deprecated public AREffectElement getChild(int index)
已过时。根据序列号查询子对象- 参数:
index
- 序列号- 返回:
- 子对象
-
removeChild
@Deprecated public void removeChild(int index)
已过时。删除子对象- 参数:
index
- 对象索引
-
removeChild
@Deprecated public void removeChild(long id)
已过时。删除子对象- 参数:
id
- 对象id
-
removeChild
@Deprecated public void removeChild(java.lang.String name)
已过时。删除子对象- 参数:
name
- 对象名
-
removeChild
@Deprecated public void removeChild(AREffectElement element)
已过时。移除子节点元素- 参数:
element
-
-
clearChildren
@Deprecated public void clearChildren()
已过时。清除所有子对象
-
getAllChilds
public java.util.ArrayList<AREffectElement> getAllChilds()
获取子对象数组- 返回:
-
addChilds
public void addChilds(java.util.ArrayList<AREffectElement> list)
设置子对象数组- 参数:
list
-
-
getChildCount
public int getChildCount()
获取子对象个数- 返回:
-
getChild
public java.util.ArrayList<AREffectElement> getChild(java.lang.String Name)
获取子对象- 参数:
Name
-- 返回:
-
getChild
public AREffectElement getChild(long id)
根据id获取子对象- 参数:
id
-- 返回:
-
getPosition
public Point3D getPosition()
获取AR对象在AR场景位置- 返回:
-
setPosition
public void setPosition(Point3D position)
设置AR对象在AR场景位置- 参数:
position
-
-
setPosition
public void setPosition(Vector3 vector3)
设置AR对象在AR场景位置- 参数:
vector3
-
-
getWGSCoordinates
public Location getWGSCoordinates()
获取模型地理位置- 返回:
-
setWGSCoordinates
@Deprecated public void setWGSCoordinates(Location elementLocation)
已过时。使用地理坐标设置模型位置- 参数:
elementLocation
-
-
getRelativePosition
public Point3D getRelativePosition()
获取AR对象相对于父节点位置- 返回:
-
setRelativePosition
public void setRelativePosition(Point3D position)
设置AR对象相对于父节点位置- 参数:
position
-
-
setRelativePosition
public void setRelativePosition(Vector3 position)
设置AR对象相对于父节点位置- 参数:
position
-
-
setRotationAngle
public void setRotationAngle(Vector vector, float rotationAngle)
设置对象的旋转角度- 参数:
vector
- 旋转轴,可以直接用单位向量rotationAngle
- 旋转角度
-
setRotationAngle
public void setRotationAngle(Quaternion quaternion)
设置旋转角度(四元数)每次在原有姿态上变换(累加)
- 参数:
quaternion
-
-
setRotationAngleNoRepeat
public void setRotationAngleNoRepeat(Quaternion quaternion)
设置旋转角度(四元数)注:与setRotationAngle(Quaternion quaternion)不同的是,此方法重复设置,不会累加 例如: //element element.setRotationAngle(new Quaternion(new Vector(0,0,1),90));//element旋转了90度 element.setRotationAngle(new Quaternion(new Vector(0,0,1),90));//element旋转了90度 //此时,element共旋转了180度 //element2 element2.setRotationAngleNoRepeat(new Quaternion(new Vector(0,0,1),90));//element2旋转至90度 element2.setRotationAngleNoRepeat(new Quaternion(new Vector(0,0,1),90));//element旋转至90度 //此时,element2只旋转了90度
- 参数:
quaternion
-
-
setRotationAngleRelative
public void setRotationAngleRelative(Quaternion quaternion)
设置相对节点的旋转角度- 参数:
quaternion
-
-
getScaleFactor
public float[] getScaleFactor()
获取对象在ar世界中的比例- 返回:
-
setScaleFactor
public void setScaleFactor(float[] scales)
设置对象在ar世界中的比例- 参数:
scales
- 含有3个值,分别为xyz的系数
-
getArEffectView
public EffectView getArEffectView()
获取AREffectView- 返回:
-
getPositionType
public AREffectElement.PositionType getPositionType()
获取位置显示类型- 返回:
-
setParentNode
public AREffectElement setParentNode(EffectView arEffectView)
绝对布局,设置父节点- 参数:
arEffectView
-
-
setParentNode
public AREffectElement setParentNode(AREffectElement arEffectElement)
相对布局时,设置父节点- 参数:
arEffectElement
-
-
changeBindNode
public void changeBindNode(AnchorNode anchorNode)
更改绑定节点- 参数:
anchorNode
-
-
getParentNode
public java.lang.Object getParentNode()
获取父节点。- 返回:
-
getAnchorNode
public AnchorNode getAnchorNode()
获取锚点
-
setVisiblity
public void setVisiblity(boolean visiblity)
设置是否可见。其子对象显隐也会跟随父对象而变化- 参数:
visiblity
-
-
isVisible
public boolean isVisible()
获取是否可见- 返回:
-
isTransformable
public boolean isTransformable()
获取模型的状态 (模型是否可以旋转/缩放)- 返回:
-
setTransformable
public void setTransformable(boolean isTransformable, boolean isSelected)
设置模型的状态- 参数:
isTransformable
- 是否可变isSelected
- 是否选中可变节点
-
setTransformable
public void setTransformable(boolean isTransformable)
设置模型的状态 (是否可通过手势对模型进行缩放/旋转)- 参数:
isTransformable
-
-
addOnTapListener
public void addOnTapListener(AREffectElement.OnTapListener listener)
添加点击监听- 参数:
listener
-
-
removeOnTapListener
public void removeOnTapListener()
移除点击监听
-
addOnTouchListener
public void addOnTouchListener(AREffectElement.OnTouchListener listener)
设置触摸监听- 参数:
listener
-
-
removeOnTouchListener
public void removeOnTouchListener()
移除触摸监听
-
isOverlap
public boolean isOverlap()
判断是否与其他元素重叠- 返回:
-
getRotationQuaternion
public Quaternion getRotationQuaternion()
获取旋转四元数- 返回:
-
setRotationQuaternion
public void setRotationQuaternion(Quaternion quaternion)
通过四元数设置旋转姿态每次设置都是基于初始相机坐标系
- 参数:
quaternion
-
-
getSelectionColor
public Color getSelectionColor()
获取选中状态的渲染对象- 返回:
-
setSelectionColor
public void setSelectionColor(Color color)
设置选中状态的渲染对象的颜色- 参数:
color
-
-
getVisualizerType
public AREffectElement.VisualizerType getVisualizerType()
获取选中状态的可视化类型- 返回:
-
setVisualizerType
public void setVisualizerType(AREffectElement.VisualizerType visualizerType)
设置选中状态的可视化类型- 参数:
visualizerType
-
-
select
public void select()
选中元素
-
unSelect
public void unSelect()
取消选中
-
isSelected
public boolean isSelected()
判断是否选中- 返回:
-
setLocalScaleFactor
public void setLocalScaleFactor(float[] scales)
设置对象在AR世界中的比例- 参数:
scales
- 含有3个值,分别为xyz的系数
-
getLocalScaleFactor
public float[] getLocalScaleFactor()
获取对象在AR世界中的比例- 返回:
-
setShadowCaster
public void setShadowCaster(boolean flag)
设置是否能够在场景中产生阴影- 参数:
flag
-
-
setShadowReceiver
public void setShadowReceiver(boolean flag)
设置在场景中是否能够接受其他对象产生的阴影- 参数:
flag
-
-
isShadowCaster
public boolean isShadowCaster()
判断是否该元素是否能够在场景中产生阴影- 返回:
-
isShadowReceiver
public boolean isShadowReceiver()
判断该元素是否能够在场景中接受其它元素产生的阴影- 返回:
-
destroy
public void destroy()
销毁对象
-
setRotateAlwaysToCamera
public void setRotateAlwaysToCamera(boolean alwaysToCamera)
设置该元素的姿态是否始终相对相机位置- 参数:
alwaysToCamera
-
-
setRotateToCameraType
public void setRotateToCameraType(Node.RotateToCameraType type)
设置节点相对相机的位置包括: Horizontal, Vertical, Horizontal_Vertical
- 参数:
type
-
-
getOnRenderableLoadCompleteListener
public AREffectElement.OnRenderableLoadCompleteListener getOnRenderableLoadCompleteListener()
获取资源加载完成的监听事件- 返回:
-
setOnRenderableLoadCompleteListener
public void setOnRenderableLoadCompleteListener(AREffectElement.OnRenderableLoadCompleteListener onRenderableLoadCompleteListener)
设置资源加载完成的监听事件支持元素:
ARViewElement
ARVideoElement
ARVideoElement2
ARGltfElement
ARWebViewElement
常用于监听安卓View和Gltf模型的加载- 参数:
onRenderableLoadCompleteListener
-
-
setParentNode
public AREffectElement setParentNode(EffectView arEffectView, Node parent)
将元素绑定在视图中的其他节点上- 参数:
arEffectView
- 视图参数。parent
- 父节点Node
可通过本方法,直接将元素绑定在Node上。 若参数
EffectView
不为null,则绑定关系:AREffectElement->parentNode->EffectView- 返回:
-
-